package com.baichang.taoshunda.dao;

import com.baichang.framework.dao.BaseDao;
import com.baichang.framework.model.Page;
import com.baichang.taoshunda.entity.GoodsComment;

import java.util.List;
import java.util.Map;

public interface GoodsCommentDao extends BaseDao<GoodsComment> {
    /**
     * 查询每个商家的用户评论
     * 接口
     * 武圣路
     *
     * @param bussId   商家编号
     * @param nowPage
     * @param pageSize @return
     */
    List<Map<String, Object>> getCommentByBussId(int bussId, int nowPage, int pageSize);

    /**
     * 查询平均星级和评论人数
     *
     * @param bussId
     * @return
     */
    Map<String, Object> getSartNum(int bussId);

    /**
     * 添加评论
     *
     * @param orderId
     * @param userId
     * @param score
     * @param content
     * @param picture
     * @param spec
     * @param bussId
     * @param goodsId
     * @return
     */
    int addComment(int orderId, int userId, int score, String content, String picture, String spec, int bussId, Integer goodsId);

    /**
     * 查询订单评论
     *
     * @param orderId
     * @param nowPage
     * @param pageSize
     * @return
     */
    Page queryOrderComment(Integer orderId, int nowPage, int pageSize);

    /**
     * 查看商家评论列表
     *
     * @param bussId   商家编号
     * @param nowPage  当前页
     * @param pageSize 每页大小
     * @return
     */
    List<Map<String, Object>> findCommentList(Integer bussId, Integer nowPage, Integer pageSize);

    /*8

     */
    int getTotal(int bussId);

    /**
     * 查询用户的所有评价
     *
     * @param userId   用户编号
     * @param nowPage  当前页
     * @param pageSize 每页条数
     * @return
     */
    List<Map<String, Object>> findCommentByUserId(Integer userId, Integer nowPage, Integer pageSize);

    /**
     * 添加追评
     *
     * @param commentId 评论编号
     * @param review    追评内容
     * @param reviewImg
     * @return
     */
    boolean review(Integer commentId, String review, String reviewImg);

    /**
     * 添加评论回复
     *
     * @param commentId    评论编号
     * @param commentReply 评论回复
     * @return
     */
    boolean commentReply(Integer commentId, String commentReply);
    /**
     * 添加追评回复
     *
     * @param commentId   评论编号
     * @param reviewReply 追评回复
     * @return
     */
    boolean reviewReply(Integer commentId, String reviewReply);
}